/**
 * 
 */
package com.liusoft.android.fmagic;

import android.graphics.Bitmap;

/**
 * 游戏状态参数接口
 * @author Winter Lau
 */
public interface MagicController {

	/**
	 * 初始化参数
	 * @param sizer
	 * @param bg
	 * @param img
	 * @param audio_on
	 * @param use_left_hand
	 * @param init_game_data 初始游戏数据
	 */
	public void MC_Init(MagicSizer sizer, Bitmap bg, Bitmap img, boolean audio_on, boolean use_left_hand, String init_game_data) ;
	
	/**
	 * 设置游戏结束的处理接口
	 * @param listener
	 */
	public void MC_SetOnFinishListener(OnFinishListener listener);
	
	/**
	 * 返回游戏已经进行的时间（单位：秒）
	 * @return
	 */
	public int MC_GetTimeConsuming(); 
	
	/**
	 * 设置游戏背景图
	 * @param bmp_bg
	 */
	public void MC_SetBackground(Bitmap bmp_bg) ;
	
	/**
	 * 设置游戏前景图
	 * @param bmp_fg
	 */
	public void MC_SetForeground(Bitmap bmp_fg) ;
	
	/**
	 * 设置音效开关
	 * @param audio_on
	 */
	public void MC_SetAudioOn(boolean audio_on) ;
	
	/**
	 * 设置习惯使用左手
	 * @param use_left_hand
	 */
	public void MC_SetLeftHand(boolean use_left_hand) ;
	
	/**
	 * 设置面板大小等参数
	 * @param sizer
	 */
	public void MC_SetSizer(MagicSizer sizer) ;
	
	/**
	 * 获取游戏当前阵列数据
	 * @return
	 */
	public String MC_GetGameArray();
	
	/**
	 * 开始游戏
	 * @return
	 */
	public boolean MC_Start() ;
	
	/**
	 * 暂停
	 * @return
	 */
	public boolean MC_Pause() ;
	
	/**
	 * 重置
	 * @return
	 */
	public boolean MC_Reset() ;
	
	/**
	 * 重画游戏界面，只有在游戏的大小参数变化后才有需要调用此方法
	 * 例如屏幕方向转变时
	 * @return
	 */
	public boolean MC_Redraw() ;
	
	public boolean MC_IsRunning() ;
	public boolean MC_IsPause() ;
	
}
